1
|
|
|
var gulp = require('gulp'); |
2
|
|
|
var sass = require('gulp-sass'); |
3
|
|
|
var del = require('del'); |
4
|
|
|
var cleanCSS = require('gulp-clean-css'); |
5
|
|
|
var jshint = require('gulp-jshint'); |
6
|
|
|
var concat = require('gulp-concat'); |
7
|
|
|
var uglify = require('gulp-uglify'); |
8
|
|
|
var sort = require('gulp-sort'); |
9
|
|
|
var wppot = require('gulp-wp-pot'); |
10
|
|
|
var gettext = require('gulp-gettext'); |
11
|
|
|
|
12
|
|
|
gulp.task('default', function() { |
13
|
|
|
console.log('Use the following commands'); |
|
|
|
|
14
|
|
|
console.log('--------------------------'); |
15
|
|
|
console.log('gulp compile-css to compile the style.scss to style.css'); |
16
|
|
|
console.log('gulp compile-js to compile the custom.js to custom.min.js'); |
17
|
|
|
console.log('gulp watch to continue watching the files for changes.'); |
18
|
|
|
console.log('gulp upgrade-components recopy over the node_module files.'); |
19
|
|
|
console.log('gulp wordpress-lang to compile the lsx.pot, en_EN.po and en_EN.mo'); |
20
|
|
|
}); |
21
|
|
|
|
22
|
|
|
/* UPGRADE THE COMPONENTS WE USE */ |
23
|
|
|
gulp.task('clean-upgrade', function(cb) { |
24
|
|
|
del(['sass/bootstrap/*','js/vendor/bootstrap.min.js','js/vendor/jquery.sticky.js'], cb); |
25
|
|
|
}); |
26
|
|
|
|
27
|
|
|
gulp.task('bootstrap-upgrade', function() { |
28
|
|
|
gulp.src('node_modules/bootstrap-sass/assets/stylesheets/**/*').pipe(gulp.dest('sass/bootstrap/').on('error', function(err) { console.log('Error!', err); })); |
|
|
|
|
29
|
|
|
gulp.src('node_modules/bootstrap-sass/assets/javascripts/bootstrap.min.js').pipe(gulp.dest('js/vendor/').on('error', function(err) { console.log('Error!', err); })); |
|
|
|
|
30
|
|
|
console.log('Bootstrap Files copied over'); |
31
|
|
|
}); |
32
|
|
|
|
33
|
|
|
gulp.task('jquery-sticky-upgrade', function() { |
34
|
|
|
gulp.src('node_modules/jquery-sticky/jquery.sticky.js').pipe(gulp.dest('js/vendor/').on('error', function(err) { console.log('Error!', err); })); |
|
|
|
|
35
|
|
|
console.log('jQuery Sticky copied over'); |
36
|
|
|
}); |
37
|
|
|
|
38
|
|
|
gulp.task('upgrade-components', ['clean-upgrade'], function() { |
39
|
|
|
gulp.start('bootstrap-upgrade'); |
40
|
|
|
gulp.start('jquery-sticky-upgrade'); |
41
|
|
|
}); |
42
|
|
|
|
43
|
|
|
gulp.task('compile-css', ['compile-css-theme','compile-css-woocommerce','compile-css-sensei','compile-css-events-calendar','compile-css-job-manager']); |
44
|
|
|
|
45
|
|
|
gulp.task('compile-css-theme', function() { |
46
|
|
|
gulp.src(['sass/app.scss', 'sass/alegreya_open_sans.scss', 'sass/noto_sans_noto_sans.scss', 'sass/noto_serif_noto_sans.scss', 'sass/raleway_open_sans.scss', 'sass/medium-nav-break.scss']) |
47
|
|
|
.pipe(sass().on('error', function(err) { console.log('Error!', err); })) |
|
|
|
|
48
|
|
|
.pipe(cleanCSS()) |
49
|
|
|
.pipe(gulp.dest('css/')); |
50
|
|
|
}); |
51
|
|
|
|
52
|
|
|
gulp.task('compile-css-woocommerce', function() { |
53
|
|
|
gulp.src(['sass/woocommerce/woocommerce-layout.scss', 'sass/woocommerce/woocommerce-smallscreen.scss', 'sass/woocommerce/woocommerce.scss']) |
54
|
|
|
.pipe(sass().on('error', function(err) { console.log('Error!', err); })) |
|
|
|
|
55
|
|
|
.pipe(cleanCSS()) |
56
|
|
|
.pipe(gulp.dest('css/')); |
57
|
|
|
}); |
58
|
|
|
|
59
|
|
|
gulp.task('compile-css-sensei', function() { |
60
|
|
|
gulp.src('sass/sensei/frontend/sensei.scss') |
61
|
|
|
.pipe(sass().on('error', function(err) { console.log('Error!', err); })) |
|
|
|
|
62
|
|
|
.pipe(cleanCSS()) |
63
|
|
|
.pipe(gulp.dest('css/')); |
64
|
|
|
}); |
65
|
|
|
|
66
|
|
|
gulp.task('compile-css-events-calendar', function() { |
67
|
|
|
gulp.src('sass/the-events-calendar.scss') |
68
|
|
|
.pipe(sass().on('error', function(err) { console.log('Error!', err); })) |
|
|
|
|
69
|
|
|
.pipe(cleanCSS()) |
70
|
|
|
.pipe(gulp.dest('css/')); |
71
|
|
|
}); |
72
|
|
|
|
73
|
|
|
gulp.task('compile-css-job-manager', function() { |
74
|
|
|
gulp.src('sass/wp-job-manager.scss') |
75
|
|
|
.pipe(sass().on('error', function(err) { console.log('Error!', err); })) |
|
|
|
|
76
|
|
|
.pipe(cleanCSS()) |
77
|
|
|
.pipe(gulp.dest('css/')); |
78
|
|
|
}); |
79
|
|
|
|
80
|
|
|
gulp.task('compile-js-theme', function () { |
81
|
|
|
gulp.src('js/lsx-script.js') |
82
|
|
|
//.pipe(jshint()) |
83
|
|
|
//.pipe(jshint.reporter('fail')) |
84
|
|
|
.pipe(concat('lsx-script.min.js')) |
85
|
|
|
.pipe(uglify()) |
86
|
|
|
.pipe(gulp.dest('js')); |
87
|
|
|
}); |
88
|
|
|
|
89
|
|
|
gulp.task('watch', function() { |
90
|
|
|
gulp.watch('sass/app.scss', ['compile-css-theme']); |
91
|
|
|
gulp.watch('sass/woocommerce/woocommerce.scss', ['compile-css-woocommerce']); |
92
|
|
|
gulp.watch('sass/sensei/frontend/sensei.scss', ['compile-css-sensei']); |
93
|
|
|
gulp.watch('sass/the-events-calendar.scss', ['compile-css-events-calendar']); |
94
|
|
|
gulp.watch('sass/wp-job-manager.scss', ['compile-css-job-manager']); |
95
|
|
|
}); |
96
|
|
|
|
97
|
|
|
gulp.task('wordpress-pot', function () { |
98
|
|
|
return gulp.src('**/*.php') |
99
|
|
|
.pipe(sort()) |
100
|
|
|
.pipe(wppot({ |
101
|
|
|
domain: 'lsx', |
102
|
|
|
destFile: 'lsx.pot', |
103
|
|
|
package: 'lsx', |
104
|
|
|
bugReport: 'https://github.com/lightspeeddevelopment/lsx/issues', |
105
|
|
|
team: 'LightSpeed <[email protected]>' |
106
|
|
|
})) |
107
|
|
|
.pipe(gulp.dest('languages')); |
108
|
|
|
}); |
109
|
|
|
|
110
|
|
|
gulp.task('wordpress-po', function () { |
111
|
|
|
return gulp.src('**/*.php') |
112
|
|
|
.pipe(sort()) |
113
|
|
|
.pipe(wppot({ |
114
|
|
|
domain: 'lsx', |
115
|
|
|
destFile: 'en_EN.po', |
116
|
|
|
package: 'lsx', |
117
|
|
|
bugReport: 'https://github.com/lightspeeddevelopment/lsx/issues', |
118
|
|
|
team: 'LightSpeed <[email protected]>' |
119
|
|
|
})) |
120
|
|
|
.pipe(gulp.dest('languages')); |
121
|
|
|
}); |
122
|
|
|
|
123
|
|
|
gulp.task('wordpress-po-mo', ['wordpress-po'], function() { |
124
|
|
|
return gulp.src('languages/en_EN.po') |
125
|
|
|
.pipe(gettext()) |
126
|
|
|
.pipe(gulp.dest('languages')); |
127
|
|
|
}); |
128
|
|
|
|
129
|
|
|
gulp.task('wordpress-lang', (['wordpress-pot', 'wordpress-po-mo'])); |
130
|
|
|
|